package com.easylinkin.linkappapi.lobar.dto;

import com.easylinkin.linkappapi.lobar.entity.UserProject;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @Author: kan yuanfeng
 * @Date: 2022/4/18 17:20
 * @Description:
 */
@Data
public class UserProjectDTO extends UserProject {
  /**
   * 年龄
   */
  private int age;

  /**
   * 劳务公司，班组中间表id
   */
  private String companyProjectId;

  /**
   * 班组姓名
   */
  private String groupName;

  /**
   * 参建单位姓名
   */
  private String companyName;

  /**
   * 参建单位简称
   */
  private String abbreviation;

  /**
   * 身份证号码
   */
  private String card;
  /**
   * 用户电话
   */
  private String telephone;
  /**
   * 班组公司id
   */
  private String companyId;

  /**
   * 单位类型
   */
  private String buildType;

  /**
   * 身份证照片
   */
  private String cardA;

  /**
   * 民族
   */
  private String nation;

  /**
   * 关键字搜索
   */
  private String keyword;

  /**
   * 在岗天数
   */
  private int sum;

  /**
   * 出勤天数
   */
  private int on;

  /**
   * 证书数量
   */
  private int certNum;

  /**
   * 黑名单记录数量
   */
  private int blackNum;

  /**
   * 查询使用，是否黑名单(1黑名单 0白名单)
   */
  private Integer blackFlag;

  /**
   * allFlag (不考虑黑名单,大屏下钻使用)
   */
  private Boolean allFlag;

  /**
   * 是否在场
   */
  private boolean onLine;

  /**
   * 项目名称
   */
  private String projectName;

  /**
   * 项目金额
   */
  private Double projectAmount;

  /**
   * 项目tenantId集合
   */
  private List<String> tenantIds;

  /**
   * 企业级查询类型(1按月2按日)
   */
  private Integer findType;

  /**
   * 开始时间
   */
  private Date startTime;

  /**
   * 结束时间
   */
  private Date endTime;

  /**
   * 开始月
   */
  private String startMonthStr;

  /**
   * 结束月
   */
  private String endMonthStr;

  /**
   * 考勤记录(1全勤 2半勤 0缺勤)
   */
  private Integer recordType;

  /**
   * 人员类型(1项目管理人员2其他管理人员3作业人员)
   */
  private Integer userType;

  /**
   * 项目id集合(企业级查询)
   */
  private List<Long> projectIds;

  /**
   * 不在范围内的数据
   */
  private List<String> notUserIds;

  /**
   * 在范围内的数据
   */
  private List<String> userIds;

  /**
   * 企业级项目id
   */
  private Long projectId;

  /**
   * 定位设备绑定人员时使用，置 1 则启用已绑定人员过滤
   */
  private String peopleBind;

  /**
   * 文化程度
   */
  private String education;

  /**
   * 证件类型
   */
  private String cardType;

  /**
   * 住址
   */
  private String address;

  /**
   * 发证机关
   */
  private String authority;

  /**
   * 是否计入考勤 0-否 1-是
   */
  private Integer isRecord;


  //导出使用
  private String genderStr;
  private String gateStatusStr;
  private String statusStr;
  private String joinTimeStr;
  private String leaveTimeStr;
  private String certStr;
  private String blackStr;


  //获取一个excel导出模板数据
  public static List<UserProjectDTO> creatExcel(){
    List<UserProjectDTO> list = new ArrayList<>();
    UserProjectDTO userProjectDTO = new UserProjectDTO();
    userProjectDTO.setGateId("153437xxxxxxxx17217");
    userProjectDTO.setUserName("张三");
    userProjectDTO.setGenderStr("男");
    userProjectDTO.setNation("汉");
    userProjectDTO.setCard("142603202211075xxx");
    userProjectDTO.setTelephone("174xxxx5127");
    userProjectDTO.setCompanyName("参建单位1");
    userProjectDTO.setGroupName("班组1");
    userProjectDTO.setWorkType("普通人员");
    list.add(userProjectDTO);
    return list;
  }
}
